//#include <iostream>
//#include <queue>
//using namespace std;
//typedef long long LL;
//const int N = 1e5 + 10;
//struct node {
//	LL sum;
//	int i, j;
//	bool operator < (const node& r) const
//	{
//		return sum > r.sum;
//	}
//};
//int a[N], b[N];
//priority_queue<node> heap;
//int main()
//{
//	int n;
//	cin >> n;
//	for (int i = 1;i <= n;i++)
//	{
//		cin >> a[i];
//	}
//	for (int i = 1;i <= n;i++)cin >> b[i];
//	for (int i = 1;i <= n;i++)
//	{
//		heap.push({ a[i] + b[1],i,1 });
//	}
//	for (int i = 1;i <= n;i++)
//	{
//		auto t = heap.top();heap.pop();
//		int sum = t.sum, num = t.i, j = t.j;
//		cout << sum << " ";
//		if (j + 1 <= n)
//		heap.push({ a[i] + b[j + 1] , num, j + 1 });
//	}
//	return 0;
//}